<?php namespace Admin\Controller;
use Common\Model\Cate;

class CateController extends CommonController{
    private $model;
    public function __auto(){
        $this->model=new Cate();
    }

    public function index(){
//        $data=$this->model->orderby('csort','ASC')->get();
        $data=Db::table('category c')->join('type t','c.shop_type_tid','=','t.tid')->get();
        $data = Data::tree($data,'cname','cid','pid','tname');
//        p($data);
        View::with('data',$data);
        View::make();
    }
//    添加顶级分类
    public function addCate(){
        if(IS_POST){
            if($this->model->store()){
                View::success('添加顶级分类成功',U('index'));
            }else{
                View::error($this->model->getError());
            }
        }
        //        获得所属类型
        $type=new \Common\Model\Type();
        $typeData=$type->get();
//        p($typeData);
        View::with('typeData',$typeData);
        View::make();
    }

//    删除分类
    public function delCate(){
        $cid=Q('get.cid',0,'intval');
        //        删除应该考虑  下面的子分类，要向上进一级
//        应该先根据cid获取被删数据的pid    pluck直接获取一个值
        $pid=$this->model->where("cid={$cid}")->pluck('pid');
//        再找到pid  等于被删cid 的子类   把他的pid  变成父级的pid
        $this->model->where("pid={$cid}")->update(array('pid'=>$pid));
        $this->model->where("cid={$cid}")->delete();
        View::success('删除成功');
    }
//    添加子类
    public function addSon(){
        if(IS_POST){
//            p($_POST);die;
            if($this->model->store()){
                View::success('子类添加成功',U('index'));
            }else{
                View::error($this->model->getError());
            }
        }

//        获得所属类型
//        $type=new \Common\Model\Type();
//        $typeData=$type->get();
//        p($typeData);
//        View::with('typeData',$typeData);
//        获得所属类型和分类
        $cid=Q('get.cid',0,'intval');
        $oldData=Db::table('category c')->join('type t','c.shop_type_tid','=','t.tid')->where("cid={$cid}")->first();
//        p($oldData);die;
//        $cate=$this->model->where("cid={$cid}")->find();
        View::with('oldData',$oldData);
        View::make();
    }


//    编辑分类
    public function editType(){
        if(IS_POST){
            if($this->model->edit()){
                View::success('修改成功',U('index'));
            }
            View::error($this->model->getError());
        }
        //       1获得旧数据
        $cid=Q('get.cid',0,'intval');
        $oldData=$this->model->where("cid={$cid}")->find();
//        $typeData=new \Common\Model\Type();
        $typename=Db::table('category c')->join('type t','c.shop_type_tid','=','t.tid')->where("cid={$cid}")->first();
//        p($typename);die;
        ////        2处理所属分类，除去自己和子集
        $cateData=Data::tree($this->model->getNotmy($cid),'cname');
//        p($cateData);
        View::with('cateData',$cateData);
        View::with('typename',$typename);
        View::with('oldData',$oldData);
        View::make();
    }


}